| 12345678910111213141516171819202122232425262728293031323334353637 |
- import { NextApiRequest, NextApiResponse } from 'next'
- import { fetchPost } from '@/data/fetchers'
- import { constructHeaders } from '@/lib/api/apiHelpers'
- import apiWrapper from '@/lib/api/apiWrapper'
- export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler)
- async function handler(req: NextApiRequest, res: NextApiResponse) {
- const { method } = req
- switch (method) {
- case 'POST':
- return handlePost(req, res)
- default:
- res.setHeader('Allow', ['POST'])
- res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } })
- }
- }
- const handlePost = async (req: NextApiRequest, res: NextApiResponse) => {
- const headers = constructHeaders({
- 'Content-Type': 'application/json',
- Accept: 'application/json',
- Authorization: `Bearer ${process.env.BRIVEN_SERVICE_KEY}`,
- })
- const url = `${process.env.BRIVEN_URL}/auth/v1/recover`
- const payload = { email: req.body.email }
- const response = await fetchPost(url, payload, { headers })
- if (response.error) {
- const { code, message } = response.error
- return res.status(code).json({ message })
- } else {
- return res.status(200).json(response)
- }
- }
|